this._pendingFileLoads = [];
this._fileMonitors = {};
this._backgroundSources = {};
+ this._animations = {};
},
monitorFile: function(file) {
getAnimation: function(params) {
params = Params.parse(params, { file: null,
+ settingsSchema: null,
onLoaded: null });
- if (_fileEqual0(this._animationFile, params.file)) {
+ if (this._animations[params.settingsSchema] && _fileEqual0(this._animationFile, params.file)) {
if (params.onLoaded) {
let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() {
- params.onLoaded(this._animation);
+ params.onLoaded(this._animations[params.settingsSchema]);
return GLib.SOURCE_REMOVE;
}));
GLib.Source.set_name_by_id(id, '[gnome-shell] params.onLoaded');
let animation = new Animation({ file: params.file });
animation.load(Lang.bind(this, function() {
- this._animationFile = params.file;
- this._animation = animation;
+ this._animations[params.settingsSchema] = animation;
if (params.onLoaded) {
let id = GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() {
- params.onLoaded(this._animation);
+ params.onLoaded(this._animations[params.settingsSchema]);
return GLib.SOURCE_REMOVE;
}));
GLib.Source.set_name_by_id(id, '[gnome-shell] params.onLoaded');
_loadAnimation: function(file) {
this._cache.getAnimation({ file: file,
+ settingsSchema: this._settings.schema_id,
onLoaded: Lang.bind(this, function(animation) {
this._animation = animation;